
package ca.canadapost.ws.soap.ship.rate.v2;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;
import javax.xml.bind.annotation.XmlRegistry;
import javax.xml.bind.annotation.adapters.NormalizedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import javax.xml.namespace.QName;


/**
 * This object contains factory methods for each 
 * Java content interface and Java element interface 
 * generated in the ca.canadapost.ws.soap.ship.rate.v2 package. 
 * <p>An ObjectFactory allows you to programatically 
 * construct new instances of the Java representation 
 * for XML content. The Java representation of XML 
 * content can consist of schema derived interfaces 
 * and classes representing the binding of schema 
 * type definitions, element declarations and model 
 * groups.  Factory methods for each of these are 
 * provided in this class.
 * 
 */
@XmlRegistry
public class ObjectFactory {

    private final static QName _GetOptionResponseOptionConflictingOptionsOptionCode_QNAME = new QName("", "option-code");
    private final static QName _GetRatesRequestMailingScenarioServicesServiceCode_QNAME = new QName("", "service-code");

    /**
     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: ca.canadapost.ws.soap.ship.rate.v2
     * 
     */
    public ObjectFactory() {
    }

    /**
     * Create an instance of {@link GetServiceResponse.Service.Options.Option }
     * 
     */
    public GetServiceResponse.Service.Options.Option createGetServiceResponseServiceOptionsOption() {
        return new GetServiceResponse.Service.Options.Option();
    }

    /**
     * Create an instance of {@link GetServiceResponse }
     * 
     */
    public GetServiceResponse createGetServiceResponse() {
        return new GetServiceResponse();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.Destination.International }
     * 
     */
    public GetRatesRequest.MailingScenario.Destination.International createGetRatesRequestMailingScenarioDestinationInternational() {
        return new GetRatesRequest.MailingScenario.Destination.International();
    }

    /**
     * Create an instance of {@link GetServiceRequest }
     * 
     */
    public GetServiceRequest createGetServiceRequest() {
        return new GetServiceRequest();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments createGetRatesResponsePriceQuotesPriceQuotePriceDetailsAdjustments() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.Destination.Domestic }
     * 
     */
    public GetRatesRequest.MailingScenario.Destination.Domestic createGetRatesRequestMailingScenarioDestinationDomestic() {
        return new GetRatesRequest.MailingScenario.Destination.Domestic();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.ParcelCharacteristics }
     * 
     */
    public GetRatesRequest.MailingScenario.ParcelCharacteristics createGetRatesRequestMailingScenarioParcelCharacteristics() {
        return new GetRatesRequest.MailingScenario.ParcelCharacteristics();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote createGetRatesResponsePriceQuotesPriceQuote() {
        return new GetRatesResponse.PriceQuotes.PriceQuote();
    }

    /**
     * Create an instance of {@link Messages.Message }
     * 
     */
    public Messages.Message createMessagesMessage() {
        return new Messages.Message();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.Destination.UnitedStates }
     * 
     */
    public GetRatesRequest.MailingScenario.Destination.UnitedStates createGetRatesRequestMailingScenarioDestinationUnitedStates() {
        return new GetRatesRequest.MailingScenario.Destination.UnitedStates();
    }

    /**
     * Create an instance of {@link DiscoverServicesResponse.Services.Service }
     * 
     */
    public DiscoverServicesResponse.Services.Service createDiscoverServicesResponseServicesService() {
        return new DiscoverServicesResponse.Services.Service();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options.Option }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options.Option createGetRatesResponsePriceQuotesPriceQuotePriceDetailsOptionsOption() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options.Option();
    }

    /**
     * Create an instance of {@link GetServiceResponse.Service.Options }
     * 
     */
    public GetServiceResponse.Service.Options createGetServiceResponseServiceOptions() {
        return new GetServiceResponse.Service.Options();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.Destination }
     * 
     */
    public GetRatesRequest.MailingScenario.Destination createGetRatesRequestMailingScenarioDestination() {
        return new GetRatesRequest.MailingScenario.Destination();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.Options }
     * 
     */
    public GetRatesRequest.MailingScenario.Options createGetRatesRequestMailingScenarioOptions() {
        return new GetRatesRequest.MailingScenario.Options();
    }

    /**
     * Create an instance of {@link DiscoverServicesRequest }
     * 
     */
    public DiscoverServicesRequest createDiscoverServicesRequest() {
        return new DiscoverServicesRequest();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.Services }
     * 
     */
    public GetRatesRequest.MailingScenario.Services createGetRatesRequestMailingScenarioServices() {
        return new GetRatesRequest.MailingScenario.Services();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails createGetRatesResponsePriceQuotesPriceQuotePriceDetails() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails();
    }

    /**
     * Create an instance of {@link GetServiceResponse.Service }
     * 
     */
    public GetServiceResponse.Service createGetServiceResponseService() {
        return new GetServiceResponse.Service();
    }

    /**
     * Create an instance of {@link DiscoverServicesResponse.Services }
     * 
     */
    public DiscoverServicesResponse.Services createDiscoverServicesResponseServices() {
        return new DiscoverServicesResponse.Services();
    }

    /**
     * Create an instance of {@link NumberRangeType }
     * 
     */
    public NumberRangeType createNumberRangeType() {
        return new NumberRangeType();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments.Adjustment }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments.Adjustment createGetRatesResponsePriceQuotesPriceQuotePriceDetailsAdjustmentsAdjustment() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments.Adjustment();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options createGetRatesResponsePriceQuotesPriceQuotePriceDetailsOptions() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options();
    }

    /**
     * Create an instance of {@link GetOptionRequest }
     * 
     */
    public GetOptionRequest createGetOptionRequest() {
        return new GetOptionRequest();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.ServiceStandard }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.ServiceStandard createGetRatesResponsePriceQuotesPriceQuoteServiceStandard() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.ServiceStandard();
    }

    /**
     * Create an instance of {@link GetOptionResponse.Option.PrerequisiteOptions }
     * 
     */
    public GetOptionResponse.Option.PrerequisiteOptions createGetOptionResponseOptionPrerequisiteOptions() {
        return new GetOptionResponse.Option.PrerequisiteOptions();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.Options.Option }
     * 
     */
    public GetRatesRequest.MailingScenario.Options.Option createGetRatesRequestMailingScenarioOptionsOption() {
        return new GetRatesRequest.MailingScenario.Options.Option();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes }
     * 
     */
    public GetRatesResponse.PriceQuotes createGetRatesResponsePriceQuotes() {
        return new GetRatesResponse.PriceQuotes();
    }

    /**
     * Create an instance of {@link DiscoverServicesResponse }
     * 
     */
    public DiscoverServicesResponse createDiscoverServicesResponse() {
        return new DiscoverServicesResponse();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Taxes }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Taxes createGetRatesResponsePriceQuotesPriceQuotePriceDetailsTaxes() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Taxes();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario.ParcelCharacteristics.Dimensions }
     * 
     */
    public GetRatesRequest.MailingScenario.ParcelCharacteristics.Dimensions createGetRatesRequestMailingScenarioParcelCharacteristicsDimensions() {
        return new GetRatesRequest.MailingScenario.ParcelCharacteristics.Dimensions();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options.Option.Qualifier }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options.Option.Qualifier createGetRatesResponsePriceQuotesPriceQuotePriceDetailsOptionsOptionQualifier() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Options.Option.Qualifier();
    }

    /**
     * Create an instance of {@link GetRatesRequest }
     * 
     */
    public GetRatesRequest createGetRatesRequest() {
        return new GetRatesRequest();
    }

    /**
     * Create an instance of {@link GetOptionResponse }
     * 
     */
    public GetOptionResponse createGetOptionResponse() {
        return new GetOptionResponse();
    }

    /**
     * Create an instance of {@link GetRatesResponse }
     * 
     */
    public GetRatesResponse createGetRatesResponse() {
        return new GetRatesResponse();
    }

    /**
     * Create an instance of {@link GetOptionResponse.Option.ConflictingOptions }
     * 
     */
    public GetOptionResponse.Option.ConflictingOptions createGetOptionResponseOptionConflictingOptions() {
        return new GetOptionResponse.Option.ConflictingOptions();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.WeightDetails }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.WeightDetails createGetRatesResponsePriceQuotesPriceQuoteWeightDetails() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.WeightDetails();
    }

    /**
     * Create an instance of {@link GetRatesRequest.MailingScenario }
     * 
     */
    public GetRatesRequest.MailingScenario createGetRatesRequestMailingScenario() {
        return new GetRatesRequest.MailingScenario();
    }

    /**
     * Create an instance of {@link Messages }
     * 
     */
    public Messages createMessages() {
        return new Messages();
    }

    /**
     * Create an instance of {@link GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments.Adjustment.Qualifier }
     * 
     */
    public GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments.Adjustment.Qualifier createGetRatesResponsePriceQuotesPriceQuotePriceDetailsAdjustmentsAdjustmentQualifier() {
        return new GetRatesResponse.PriceQuotes.PriceQuote.PriceDetails.Adjustments.Adjustment.Qualifier();
    }

    /**
     * Create an instance of {@link GetOptionResponse.Option }
     * 
     */
    public GetOptionResponse.Option createGetOptionResponseOption() {
        return new GetOptionResponse.Option();
    }

    /**
     * Create an instance of {@link TaxType }
     * 
     */
    public TaxType createTaxType() {
        return new TaxType();
    }

    /**
     * Create an instance of {@link GetServiceResponse.Service.Restrictions.DimensionalRestrictions }
     * 
     */
    public GetServiceResponse.Service.Restrictions.DimensionalRestrictions createGetServiceResponseServiceRestrictionsDimensionalRestrictions() {
        return new GetServiceResponse.Service.Restrictions.DimensionalRestrictions();
    }

    /**
     * Create an instance of {@link GetServiceResponse.Service.Restrictions }
     * 
     */
    public GetServiceResponse.Service.Restrictions createGetServiceResponseServiceRestrictions() {
        return new GetServiceResponse.Service.Restrictions();
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "", name = "option-code", scope = GetOptionResponse.Option.ConflictingOptions.class)
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    public JAXBElement<String> createGetOptionResponseOptionConflictingOptionsOptionCode(String value) {
        return new JAXBElement<String>(_GetOptionResponseOptionConflictingOptionsOptionCode_QNAME, String.class, GetOptionResponse.Option.ConflictingOptions.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "", name = "option-code", scope = GetOptionResponse.Option.PrerequisiteOptions.class)
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    public JAXBElement<String> createGetOptionResponseOptionPrerequisiteOptionsOptionCode(String value) {
        return new JAXBElement<String>(_GetOptionResponseOptionConflictingOptionsOptionCode_QNAME, String.class, GetOptionResponse.Option.PrerequisiteOptions.class, value);
    }

    /**
     * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >}}
     * 
     */
    @XmlElementDecl(namespace = "", name = "service-code", scope = GetRatesRequest.MailingScenario.Services.class)
    @XmlJavaTypeAdapter(NormalizedStringAdapter.class)
    public JAXBElement<String> createGetRatesRequestMailingScenarioServicesServiceCode(String value) {
        return new JAXBElement<String>(_GetRatesRequestMailingScenarioServicesServiceCode_QNAME, String.class, GetRatesRequest.MailingScenario.Services.class, value);
    }

}
